import Koa from 'koa'; // 导入koa
import routers from './router/index';
import middlewares from './middlewares/index';
import typeormMiddleware from './middlewares/typeorm';
import { listen } from './config';
import serverlessHttp from 'serverless-http';

const app: Koa = new Koa(); // 新建一个Koa对象

// 添加typeorm 数据连接
app.use(typeormMiddleware);
// 中间件
middlewares(app);
// 加载路由
routers(app);
// 监听3端口
app.listen(listen, function() {
  console.log('Server running on http://localhost:' + listen);
});

// export async function serverless() {
//   return new Promise((resolve, reject) => {
//     createConnection(database)
//       .then((connection: Connection) => {
//         // 中间件
//         middlewares(app);
//         // 加载路由
//         routers(app);
//         // 监听3端口
//         const handler = serverlessHttp(app)
//         resolve(handler)
//       })
//       .catch(reject);
//   })
// }

// exports.main_handler = async (event:any, context:any, callback:any) => {
//   const handler:any = await serverless()
//   return await handler(
//     { ...event, queryStringParameters: event.queryString },
//     context
//   );
// };
